package susebs.pb.travel_server.entity;

import java.util.Date;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
/**
 * 订单表(Orders)实体类
 *
 * @author makejava
 * @since 2024-02-05 08:02:27
 */
public class Orders implements Serializable {
    private static final long serialVersionUID = 483935828386018793L;

    private Long orderId;

    private Long userId;

    /**
     * 订单名，用作模糊检索依据
     */
    private String orderName;

    /**
     * 订单状态，未支付/已取消/已支付/已退款/未出行/已完成，0/1/2/3/4/5，订单状态的转换涉及到许多业务，如取消订单时会将用户优惠次数返还；用户订单完成后方可进行评论等
     */
    private Integer orderStatus;
    /**
     * 订单创建时间
     */
    private Date orderCreateTime;
    /**
     * 订单涉及到的交易类型，1景点，2套餐，3酒店
     */
    private Integer transactionType;
    /**
     * 涉及交易商品的id
     */
    private Long transactionId;
    /**
     * 商户全称，如果是景点交易（门票售卖），则商户主体为对应的lm_name+景点开发有限公司；如果是套餐交易，则商户主体来自套餐实体的merchat_name字段
     */
    private String orderMerchatName;
    /**
     * 收单机构，默认为“大P支付科技有限公司”
     */
    private String acquirer;
    /**
     * 订单编号，唯一性，用时间戳+随机数组成
     */
    private String orderNumber;
    /**
     * 订单总金额
     */
    private Double orderTotalAmount;
    /**
     * 用户是否使用了优惠券
     */
    private Integer isDiscount;

}
